home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / task_io_accounting.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.1 KB  |  46 lines

  1. /*
  2.  * task_io_accounting: a structure which is used for recording a single task's
  3.  * IO statistics.
  4.  *
  5.  * Don't include this header file directly - it is designed to be dragged in via
  6.  * sched.h.
  7.  *
  8.  * Blame Andrew Morton for all this.
  9.  */
  10.  
  11. struct task_io_accounting {
  12. #ifdef CONFIG_TASK_XACCT
  13.     /* bytes read */
  14.     u64 rchar;
  15.     /*  bytes written */
  16.     u64 wchar;
  17.     /* # of read syscalls */
  18.     u64 syscr;
  19.     /* # of write syscalls */
  20.     u64 syscw;
  21. #endif /* CONFIG_TASK_XACCT */
  22.  
  23. #ifdef CONFIG_TASK_IO_ACCOUNTING
  24.     /*
  25.      * The number of bytes which this task has caused to be read from
  26.      * storage.
  27.      */
  28.     u64 read_bytes;
  29.  
  30.     /*
  31.      * The number of bytes which this task has caused, or shall cause to be
  32.      * written to disk.
  33.      */
  34.     u64 write_bytes;
  35.  
  36.     /*
  37.      * A task can cause "negative" IO too.  If this task truncates some
  38.      * dirty pagecache, some IO which another task has been accounted for
  39.      * (in its write_bytes) will not be happening.  We _could_ just
  40.      * subtract that from the truncating task's write_bytes, but there is
  41.      * information loss in doing that.
  42.      */
  43.     u64 cancelled_write_bytes;
  44. #endif /* CONFIG_TASK_IO_ACCOUNTING */
  45. };
  46.